// 声明一个变量a,同时指定它的类型是number
let a:number; 
// a 的类型设置为了number,在以后的使用过程中只能是数字
a = 10;
a = 33;
// a = 'hello';   // 此行代码会报错，因为变量a的类型是number，不能赋值字符串
let b: string;
b = '123'
//b = 123;  // 此行代码会报错，因为变量b的类型是string，不能赋值为数字
 
// 声明完变量直接赋值
// let c: boolean = false

// 如果变量的声明和赋值是同时进行的，ts可以自动对变量进行类型检测(就不用再去写类型)
let c = false
c = true

// JS中的函数是不考虑参数的类型和个数的
// function sum(a,b){
//     return a + b;
// }
// console.log(sum(123,456))
// console.log(sum(123,'456'))

// ts可以给函数的参数和返回值声明指定类型
function sum (a:number,b:number):number{
    return a + b;
}
sum(123,456)